Methods and systems for service transfer

ABSTRACT

Methods and systems for service transfer are disclosed. A movement of a user device may be detected by one or more sensors implemented in the user device. A transfer of service may occur based on the movement of the user device.

CROSS REFERENCE TO RELATED APPLICATION

This application is a Continuation of U.S. application Ser. No.16/725,722, filed on Dec. 23, 2019, which is a Continuation of U.S.application Ser. No. 15/407,901, filed on Jan. 17, 2017 and issued asU.S. Pat. No. 10,555,123, which is a Continuation of U.S. applicationSer. No. 14/274,841, filed on May 12, 2014 and issued as U.S. Pat. No.9,584,961, which are herein incorporated by reference in theirentireties.

BACKGROUND

Current network technology enables service consumption through differentuser devices. Service can be transferred from one user device toanother; for example, television content can be directed from atelevision to a desktop computer or from a mobile phone to a laptop.Users can direct the transfer of service between user devices accordingto a transfer protocol. However, transfer protocols can involve lengthyprocedures. There is a need for more convenient methods and systems tosimplify service transfer.

SUMMARY

It is to be understood that both the following general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive, as claimed. Provided are methods and systemsfor transferring service from one device to another device. An examplemethod can comprise receiving service at a first/current user device,detecting a movement of the first user device, determining the directionof the movement, and requesting the service be provided to asecond/target user device in the direction of the movement. As anexample, service can comprise communication session service, networkaccess service, video service, audio service, short message service,multimedia message service, and the like. In an aspect, the movement ofthe user device can be detected by one or more motion or positionsensors such as a magnetometer, a gyroscope, an accelerometer, a radiotransceiver, a global positioning system (GPS) device, a compass, orother motion or position sensors implemented in the user device or inthe vicinity of the user device. In an aspect, the detection of movementcan comprise detection of direction of movement. In another aspect, thedetection of movement can comprise detection of speed of movement. In anaspect, to enable a service transfer, a user can point a first/currentuser device to a second/target user device. The pointing can be achievedby moving the first user device in the direction of the second userdevice at certain speed.

In an aspect, an example apparatus can comprise one or more sensors fordetecting a movement of the apparatus and one or more processors coupledto the one or more sensors. In an aspect, the one or more processors canbe configured for performing steps comprising receiving a service,receiving an indication of a movement of the apparatus from the sensor,determining a direction of the movement, and requesting the service beprovided to another apparatus in the direction of the movement.

In another aspect, an example apparatus can comprise a memory configuredfor storing service transfer data and a processor coupled to the memory.In an aspect, the service transfer data can comprise a request from afirst user device to provide or transfer the service to a second userdevice and the direction of the second user device relative to the firstuser device. The service transfer data can be stored in a servicetransfer database in the memory. In an aspect, the processor can beconfigured for providing service to a first user device, receivingservice transfer data, identifying a second user device based on thetransfer data, and providing the service to the second user device.

Additional advantages will be set forth in part in the description whichfollows or may be learned by practice. The advantages will be realizedand attained by means of the elements and combinations particularlypointed out in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate embodiments and together with thedescription, serve to explain the principles of the methods and systems:

FIG. 1 is a block diagram of an exemplary system for service transfer;

FIG. 2 is a block diagram illustrating example devices and operatingenvironment in which the present systems and methods can operate;

FIG. 3 is a block diagram of an exemplary system environment for servicetransfer;

FIG. 4 is a block diagram of an exemplary system environment for servicetransfer;

FIG. 5 is a diagram of an exemplary system environment for servicetransfer;

FIG. 6 is a flowchart illustrating an example method for servicetransfer;

FIG. 7 is a flowchart illustrating another example method for servicetransfer;

FIG. 8 is a flowchart illustrating another example method for servicetransfer; and

FIG. 9 is a flowchart illustrating another example method for servicetransfer.

DETAILED DESCRIPTION

Before the present methods and systems are disclosed and described, itis to be understood that the methods and systems are not limited tospecific methods, specific components, or to particular implementations.It is also to be understood that the terminology used herein is for thepurpose of describing particular embodiments only and is not intended tobe limiting.

As used in the specification and the appended claims, the singular forms“a,” “an,” and “the” include plural referents unless the context clearlydictates otherwise. Ranges may be expressed herein as from “about” oneparticular value, and/or to “about” another particular value. When sucha range is expressed, another embodiment includes from the oneparticular value and/or to the other particular value. Similarly, whenvalues are expressed as approximations, by use of the antecedent“about,” it will be understood that the particular value forms anotherembodiment. It will be further understood that the endpoints of each ofthe ranges are significant both in relation to the other endpoint, andindependently of the other endpoint.

“Optional” or “optionally” means that the subsequently described eventor circumstance may or may not occur, and that the description includesinstances where said event or circumstance occurs and instances where itdoes not.

Throughout the description and claims of this specification, the word“comprise” and variations of the word, such as “comprising” and“comprises,” means “including but not limited to,” and is not intendedto exclude, for example, other components, integers or steps.“Exemplary” means “an example of” and is not intended to convey anindication of a preferred or ideal embodiment. “Such as” is not used ina restrictive sense, but for explanatory purposes.

Disclosed are components that can be used to perform the disclosedmethods and systems. These and other components are disclosed herein,and it is understood that when combinations, subsets, interactions,groups, etc. of these components are disclosed that while specificreference of each various individual and collective combinations andpermutation of these may not be explicitly disclosed, each isspecifically contemplated and described herein, for all methods andsystems. This applies to all aspects of this application including, butnot limited to, steps in disclosed methods. Thus, if there are a varietyof additional steps that can be performed it is understood that each ofthese additional steps can be performed with any specific embodiment orcombination of embodiments of the disclosed methods.

The present methods and systems may be understood more readily byreference to the following detailed description of preferred embodimentsand the examples included therein and to the Figures and their previousand following description.

As will be appreciated by one skilled in the art, the methods andsystems may take the form of an entirely hardware embodiment, anentirely software embodiment, or an embodiment combining software andhardware aspects. Furthermore, the methods and systems may take the formof a computer program product on a computer-readable storage mediumhaving computer-readable program instructions (e.g., computer software)embodied in the storage medium. More particularly, the present methodsand systems may take the form of web-implemented computer software. Anysuitable computer-readable storage medium may be utilized including harddisks, CD-ROMs, optical storage devices, or magnetic storage devices.

Embodiments of the methods and systems are described below withreference to block diagrams and flowchart illustrations of methods,systems, apparatuses and computer program products. It will beunderstood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, respectively, can be implemented by computerprogram instructions. These computer program instructions may be loadedonto a general purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions which execute on the computer or other programmabledata processing apparatus create a means for implementing the functionsspecified in the flowchart block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including computer-readableinstructions for implementing the function specified in the flowchartblock or blocks. The computer program instructions may also be loadedonto a computer or other programmable data processing apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, can be implemented by special purposehardware-based computer systems that perform the specified functions orsteps, or combinations of special purpose hardware and computerinstructions.

The present disclosure relates to methods and systems for transferringservice between user devices. In an aspect, service can be transferredfrom a first/current user device to a second/target user device bymoving the first user device toward the second user device. As anexample, the user device can comprise a personal computer, a mobiledevice, a tablet device, a smart phone, a watch, glasses, a television,or other portable device. The user device can be equipped with one ormore sensors capable of detecting the movement and/or position of theuser device. In an aspect, the movement can be detected by one or moresensors such as a magnetometer, a gyroscope, an accelerometer, a radiotransceiver, a global positioning system (GPS) device, a compass, orother types of motion or position sensors. The sensors can be built intothe user device. In another aspect, a user device can be used totransfer service between other user devices.

In one aspect, a plurality of user devices can be configured to use acommon application. As an example, the plurality of user devices can beregistered via the common application. The registered user devices canbecome transferable devices. A transferable device can be the userdevice to which the service can be transferred. A registered user devicecan share its information with other registered user devices via thecommon application. For example, a registered user device can share itsposition information with other registered user devices. The positioninformation can comprise position coordinates (e.g., GPS coordinates) ofa user device and its position with respect to other user devices. As anexample, position information can comprise longitude, latitude,altitude, and the like from a satellite based positioning system. In anaspect, the movement (e.g., direction and speed) of a registered userdevice can be calculated based on the real-time position change of theuser device. When a registered user device changes its position, theposition information can be updated and shared with other registereduser devices. In another aspect, a registered user device can share itsidentity (e.g., device identifier) with other registered user devices.In an aspect, the shared information (e.g., position and/movementinformation, device identifier) can be registration information. Theregistration information can be stored in the memories of one or more(e.g., all) registered user devices. The registration information canalso be stored in the memory of a computing device as service transferdata. In an aspect, the computing device can be configured for providingservice to a first user device, receiving service transfer data from thememory, identifying a second user device based on the transfer data, andproviding the service to the second user device.

In another aspect, the common application can be implemented as anapplication installed on user devices or a web application that can beaccessed over a network such as internet or intranet. As an example, anaddress book can be used as the common application. As another example,a friends list, a recent contacts list, a frequent contact list, asocial media sourced friends list, and the like, can be used as thecommon application. In an aspect, the common application can beaccessible through an onscreen guide (e.g., application menu, webbrowser interface). A user can register a user device by executing thecommon application installed on the user device or logging onto theapplication located across the web. In an aspect, the registered userdevices can share their information via the common application. Forexample, position information (e.g., GPS coordinates), movementinformation (e.g., direction and speed) and other information (e.g.,device identifier) associated with the registered user devices can beshared via the common application.

In another aspect, a plurality of user devices can be configured toconnect to the same network through a fixed common network access pointbase. The user devices configured through the fixed common networkaccess point can be transferable devices. The position and/or movementof a user device can be defined with respect to the common networkaccess point. As an example, the common network access point can be anetwork device, such as a Wi-Fi router or a femtocell. The position of auser device can be measured in terms of angle and distance with respectto the common network access point. In an aspect, the movement (e.g.,direction and speed) of a user device can be calculated based on thereal-time position change (e.g., angle change and distance change withrespect to the common network access point). As such, the positionand/or movement information of a user device with respect to anotheruser device within the common network can be calculated. In an aspect,the position and/or movement information can be shared via the commonnetwork. For example, the position and/or movement information can beshared via a wired and/or wireless network using Wi-Fi, Bluetooth or anydesired method or standard. In another aspect, a user device can shareits identity (e.g., device identifier) with other user devices withinthe common network. The shared information (e.g., position and/ormovement information, device identifier) can be registrationinformation. The registration information can be stored in the memoriesof the user devices within the common network. The registrationinformation can also be stored in the memory of a computing device asservice transfer data. In an aspect, the computing device can beconfigured for providing service to a first user device, receivingservice transfer data from the memory, identifying a second user devicebased on the transfer data, and providing the service to the second userdevice.

In an aspect, position information of a plurality of user devices can becombined with movement information (e.g., speed of a movement,acceleration of a movement, duration of a movement, distance of amovement) of a first user device to determine a second user device. Forexample, when a slow movement (e.g., speed lower than a predefinedvalue, acceleration lower than a predefined value), a short duration(e.g., less than 3 seconds) movement, a short distance (e.g., less than20 centimeters) movement, or a combination thereof, of the first userdevice is detected, it can be assumed that a user intends to transferservice from the first user device to a second user device with closeproximity to the first user device. Therefore, user devices withdistance greater than a predefined value (e.g., 3 meters) to the firstuser device can be excluded as a second user device in a servicetransfer. By contrast, when a fast movement (e.g., speed higher than apredefined value, acceleration higher than a predefined value), a longduration (e.g., more than 3 seconds) movement, a long distance (e.g.,more than 20 centimeters) movement, or a combination thereof, of a firstuser device is detected, it can be assumed that a user intends totransfer service from the first user device to a second user device notin close proximity to the first user device. As a result, user deviceswith distance less than a predefined value (e.g., 2 meters) to the firstuser device can be excluded as a second user device in a servicetransfer.

FIG. 1 is a block diagram of an exemplary system. In an aspect, aplurality of user devices 101, 101 a, 101 b, 101 c and 101 d can beconfigured to receive service from a computing device 104. The userdevices 101, 101 a, 101 b, 101 c and 101 d can be any device capable ofcommunicating with the computing device 104. In an aspect, user devices101, 101 a, 101 b, 101 c and 101 d can be electronic devices, forexample, personal computers, smart phones, laptops, tablets, watches,glasses, televisions, and the like. In an aspect, user devices 101, 101a, 101 b, 101 c and 101 d can be different types of devices. In anaspect, the service can comprise communication session service (e.g.,phone call), network access service (e.g., web browsing), video service,audio service, short message service, multimedia message service, andthe like.

By way of example, the remote computing device 104 can comprise aserver, a network computer, a peer device or other common network nodecapable of providing service to the user devices 101, 101 a, 101 b, 101c and 101 d. In an aspect, the computing device 104 can be disposedlocally or remotely relative to user devices 101, 101 a, 101 b, 101 cand 101 d.

In an aspect, user devices 101, 101 a, 101 b, 101 c and 101 d and thecomputing device 104 can be in communication via a private and/or apublic network 105, for example, a local area network or the Internet.Other possible modes of communication between devices are wired andwireless telecommunication channels. As an example, the network 105 cancomprise a packet switched network (e.g., internet protocol basednetwork), a non-packet switched network (e.g., quadrature amplitudemodulation based network), and/or the like. The network 105 can comprisenetwork adapters, switches, routers, and the like connected throughwireless links (e.g., radio frequency, satellite) and/or physical links(e.g., fiber optic cable, coaxial cable, Ethernet cable). Other forms ofcommunications can be used such as wired and wireless telecommunicationchannels, for example, Wi-Fi, Bluetooth or any desired method orstandard.

In one aspect, the plurality of user devices 101, 101 a, 101 b, 101 cand 101 d can be configured to use a common application. The userdevices registered via the common application can become transferableuser devices. In an aspect, the plurality of user devices can beconfigured to connect to the same network through a fixed common networkaccess point base (e.g., network device 116), as shown in FIG. 1. As anexample, the network device 116 can be a Wi-Fi router or a femtocell.The user devices configured within the same network can becometransferable devices.

In an aspect, a user device (e.g., 101, 101 a, 101 b, 101 c, or 101 d)can comprise a communication element 106 that provides a user interfacefor interaction with the respective user device 101, 101 a, 101 b, 101 cand 101 d and/or the computing device 104. Communication element 106 canbe any interface for presenting and/or receiving information to/from theuser. An example interface can be a communication interface such as aweb browser, application guide, and the like. For example, the user canregister a user device by executing a common application installed onthe user devices or logging onto the application located across the webvia the communication element 106. In an aspect, the user can log ontothe application automatically once the user logs onto the user device orturns on the user device. Other configurations of software, hardware,and/or interfaces can be used to enable communication between the user,the computing device 104, and one or more of the user devices 101, 101a, 101 b, 101 c and 101 d. The communication element 106 can be used toperform a variety of operations, for example, request or query variousfiles from a local source and/or a remote source, for example, the userdevices 101, 101 a, 101 b, 101 c, 101 d, and the computing device 104.

In an aspect, a user device (e.g., user device 101, 101 a, 101 b, 101 c,101 d) can comprise sensor 130 to detect movement or determine positionof the respective user device 101, 101 a, 101 b, 101 c and 101 d. In anaspect, the sensor 130 can comprise one or more motion or positionsensors such as an accelerometer, a magnetometer, a gyroscope, a radiotransceiver, a global positioning system (GPS) device, a geo-locationdevice, a compass, or the like.

As an example, an accelerometer can be used to identify movement of auser device. In an aspect, the accelerometer can detect speed changes. Aspeed change greater than a predefined value can be interpreted as asignal to initiate a service transfer.

As another example, a GPS device or a geo-location device can be used toidentify the position and/or movement of a user device. Specifically,the GPS device can provide position information in terms of GPScoordinates such as longitude, latitude, altitude and the like. Thegeo-location device can provide position information in terms ofreal-world geographical location. The speed and direction of themovement can be calculated based on the real-time position change. Thereal-time position change greater than a predefined value can beinterpreted as a signal to initiate a service transfer.

As another example, when the user devices are configured to a commonbase point, a magnetometer can be used to provide the position of a userdevice with respect to the fixed common base point (e.g., Wi-Fi router,a femtocell) or geographical north. The position information can bemeasured in terms of the angle and distance relative to the common basepoint or geographical north. For example, received signal strengthindicator (RSSI) can be used to indicate the distance of the user devicefrom the fixed common base point, such as a Wi-Fi router or a femtocell.The speed and direction of the movement can be calculated based on thereal-time position change (e.g., angle change with respect to the commonbase point, distance change with respect to the common base point). Areal-time position change greater than a predefined value can beinterpreted as a signal to initiate a service transfer.

As another example, a gyroscope can be used to identify orientationchange during the movement of a user device. For example, the real-timeorientation of the user device can be recorded based on the motion of agyroscope. The speed and direction of the movement can be calculatedbased on the real-time orientation change. A real-time orientationchange greater than a predefined value can be interpreted as a signal toinitiate a service transfer.

As another example, a compass can be used to identify orientation changeduring the movement of a user device. For example, angle (e.g., degrees)on the compass of the user device can be recorded based on the motion ofthe user device. The direction of the movement can be calculated basedon the angle change. An angle change greater than a predefined value canbe interpreted as a signal to initiate a service transfer.

In an aspect, a user device (e.g., user device 101, 101 a, 101 b, 101 c,101 d) can comprise a processor 132. The processor 132 can be coupled tothe sensor 130. In an aspect, the processor 132 can be configured forreceiving a service, receiving an indication of movement of a respectiveuser device from the sensor 130, determining a direction of themovement, and requesting the service be provided to another user devicein the direction of the movement. For example, the sensor 130 can detectthe movement of a user device (e.g., user device 101), and the real-timeposition information of the user device can be transmitted from thesensor 130 to the processor 132. The processor 132 can be configured tocalculate the direction and speed of the movement based on real-timeposition change of a user device. As an example, the processor 132 canbe configured for receiving a service from the computing device 104,receiving an indication of a movement of a user device from the sensor130, determining a direction of the movement, and requesting the servicebe provided to another user device in the direction of the movement.

In an aspect, a user device can be associated with a user identifier ordevice identifier 108. As an example, the device identifier 108 can beany identifier, token, character, string, or the like, fordifferentiating one user or user device from another user or userdevice. In a further aspect, the device identifier 108 can identify auser or user device as belonging to a particular class of users or userdevices. As a further example, the device identifier 108 can compriseinformation relating to the user device, such as a manufacturer, a modelor type of device, a service provider associated with the user device, astate of the user device, a locator, and/or a label or classifier. Otherinformation can be represented by the device identifier 108. In anaspect, the device identifier 108 can be part of service transfer dataand stored in the computing device 104. By way of example, deviceidentifier 108 can be used by the computing device 104 to addressservice to a specific user device. Specifically, the computing device104 can obtain the device identifier 108 associated with a user deviceand thereby provide the service to the user device.

In an aspect, the device identifier 108 can comprise an address element110 and a service element 112. In an aspect, the address element 110 cancomprise or provide an internet protocol address, a network address, amedia access control (MAC) address, an Internet address, or the like. Asan example, the address element 110 can be relied upon to establish acommunication session between the user device and the computing device104 or other devices and/or networks. As a further example, the addresselement 110 can be used as an identifier or locator of the user device101. In an aspect, the address element 110 can be persistent for aparticular network. In an aspect, the address element 110 can be part ofservice transfer data and stored in the computing device 104. Forexample, the computing device 104 can obtain the address element 110associated with a specific user device and thereby deliver service tothe specific user device at its location.

In an aspect, the service element 112 can comprise an identification ofa service provider associated with the user device and/or with the classof user device. The class of the user device can be related to a type ofdevice, capability of device, type of service being provided, and/or alevel of service (e.g., business class, service tier, service package,etc.). As an example, the service element 112 can comprise informationrelating to or provided by a communication service provider (e.g.,Internet service provider) that is providing or enabling data flow suchas communication services to the user device. As a further example, theservice element 112 can comprise information relating to a preferredservice provider for one or more particular services relating to theuser device. In an aspect, the address element 110 can be used toidentify or retrieve data from the service element 112, or vice versa.As a further example, one or more of the address element 110 and theservice element 112 can be stored remotely from the user device andretrieved by one or more devices such as the computing device 104.

In an aspect, the computing device 104 can be configured as (or disposedat) a central location (e.g., a headend, or processing facility), whichcan receive content (e.g., data, input programming) from multiplesources. By way of example, the remote computing device 104 can comprisea server, a network computer, a peer device or other common networknode, and the like. The computing device 104 can combine the contentfrom the multiple sources and can distribute the content to user (e.g.,subscriber) or user device locations via a distribution system. As anexample, the user devices 101, 101 a, 101 b, 101 c and 101 d can requestand/or retrieve a file from the computing device 104. In an aspect, thecomputing device 104 can store information relating to the user devices101, 101 a, 101 b, 101 c and 101 d such as the device identifier 108,address element 110 and/or the service element 112. As an example, thecomputing device 104 can obtain the device identifier 108 from a userdevice and retrieve information such as the address element 110 and/orthe service element 112. As a further example, the computing device 104can obtain the address element 110 from a user device and can retrievethe service element 112, or vice versa.

In an aspect, the computing device 104 can comprise a memory 126configured to store service transfer data. Specifically, the servicetransfer data can be stored in a service transfer database 128. As anexample, the service transfer database 128 can be an in-memory database.In an aspect, service transfer data can comprise position information ofthe user devices 101, 101 a, 101 b, 101 c and 101 d. In another aspect,service transfer data can comprise the direction and speed of a movinguser device. In another aspect, service transfer data can comprise thedevice identities (e.g., device identifier 108, address element 110) ofuser devices 101, 101 a, 101 b, 101 c and 101 d.

In an aspect, the computing device 104 can comprise a processor 134. Theprocessor 134 can be coupled to the memory 126. In an aspect, theprocessor 134 can be configured for providing service to a first userdevice (e.g., user device 101) receiving service transfer data from thememory 126, identifying a second user device based on the transfer data,and providing the service to the second user device (e.g., user device101 a, b, c, d). As an example, processor 134 can be configured toretrieve service transfer data from the memory 126, and map the movementof the first user device (e.g., user device 101) with respect to theposition of other user devices (e.g., user devices 101 a, 101 b, 101 cand 101 d) to determine the second user device.

In an aspect, the network device 116 can be in communication with anetwork, such as network 105. As an example, the network device 116 canfacilitate the connection of user devices, such as user devices 101, 101a, 101 b, 101 c and 101 d to the network 105. As a further example, thenetwork device 116 can be configured as a wireless access point (WAP).In an aspect, the network device 116 can be configured to allow one ormore wireless devices to connect to a wired and/or wireless networkusing Wi-Fi, Bluetooth, or any desired method or standard.

In an aspect, the network device 116 can be configured as a local areanetwork (LAN). As an example, the network device 116 can comprise a dualband wireless access point. As an example, the network devices 116 canbe configured with a first service set identifier (SSID) (e.g.,associated with a user network or private network) to function as alocal network for a particular user or users. As a further example, thenetwork device 116 can be configured with a second service setidentifier (SSID) (e.g., associated with a public/community network or ahidden network) to function as a secondary network or redundant networkfor connected communication devices.

In an aspect, the network device 116 can comprise an identifier 118. Asan example, one or more identifiers can be or relate to an InternetProtocol (IP) Address IPV4/IPV6, a media access control address (MACaddress), or the like. As a further example, the identifier 118 can be aunique identifier for facilitating communications on the physicalnetwork segment. In an aspect, the network devices 116 can comprise adistinct identifier 118. As an example, the identifiers 118 can beassociated with a physical location of the network devices 116. Inanother aspect, a plurality of user devices 101, 101 a, 101 b, 101 c and101 d can be configured to the same network through the network device116 as a fixed common network access point base. The position of a userdevice can be defined relative to the network device 116. As an example,the network device 116 can be a Wi-Fi router or a femtocell.

In an aspect, the methods and systems can be implemented on a userdevice 201 as illustrated in FIG. 2 and described below. By way ofexample, user devices 101, 101 a, 101 b, 101 c and 101 d of FIG. 1 canbe a user device 201, 201 a, 201 b, 201 c as illustrated in FIG. 2.Similarly, the methods and systems disclosed can utilize one or morecomputers to perform one or more functions in one or more locations.FIG. 2 is a block diagram illustrating an exemplary operatingenvironment for performing the disclosed methods. This exemplaryoperating environment is only an example of an operating environment andis not intended to suggest any limitation as to the scope of use orfunctionality of operating environment architecture. Neither should theoperating environment be interpreted as having any dependency orrequirement relating to any one or combination of components illustratedin the exemplary operating environment.

The present methods and systems can be operational with numerous othergeneral purpose or special purpose computing system environments orconfigurations. Examples of well known computing systems, environments,and/or configurations that can be suitable for use with the systems andmethods comprise, but are not limited to, personal computers, servercomputers, laptop devices, and multiprocessor systems. Additionalexamples comprise set top boxes, programmable consumer electronics,network PCs, minicomputers, mainframe computers, distributed computingenvironments that comprise any of the above systems or devices, and thelike.

The processing of the disclosed methods and systems can be performed bysoftware components. The disclosed systems and methods can be describedin the general context of computer-executable instructions, such asprogram modules, being executed by one or more computers or otherdevices. Generally, program modules comprise computer code, routines,programs, objects, components, data structures, etc., that performparticular tasks or implement particular abstract data types. Thedisclosed methods can also be practiced in grid-based and distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules can be located inboth local and remote computer storage media, including memory storagedevices.

Further, one skilled in the art will appreciate that the systems andmethods disclosed herein can be implemented via a general-purposecomputing device in the form of user devices 201, 201 a, 201 b and 201c. The components of the user devices 201, 201 a, 201 b and 201 c cancomprise, but are not limited to, one or more processors or processingunits 203, a system memory 212, and a system bus 213 that couplesvarious system components including the processor 203 to the systemmemory 212. In the case of multiple processing units 203, the system canutilize parallel computing.

The system bus 213 represents one or more of several possible types ofbus structures, including a memory bus or memory controller, a processorbus, a peripheral bus, an accelerated graphics port, and a processor orlocal bus using any of a variety of bus architectures. By way ofexample, such architectures can comprise an Industry StandardArchitecture (ISA) bus, a Micro Channel Architecture (MCA) bus, anEnhanced ISA (EISA) bus, a Video Electronics Standards Association(VESA) local bus, an Accelerated Graphics Port (AGP) bus, and aPeripheral Component Interconnects (PCI), a PCI-Express bus, a PersonalComputer Memory Card Industry Association (PCMCIA), Universal Serial Bus(USB) and the like. The bus 213, and all buses specified in thisdescription, can also be implemented over a wired or wireless networkconnection, and each of the subsystems, including the processor 203, amass storage device 204, an operating system 205, position measurementsoftware 206, position data 207, a network adapter 208, system memory212, an Input/Output Interface 210, a display adapter 209, a displaydevice 211, and a human machine interface 202, can be contained withinone or more user devices 201, 201 a, 201 b and 201 c at physicallyseparate locations, connected through buses of this form, in effectimplementing a fully distributed system.

The user devices 201, 201 a, 201 b and 201 c typically comprise avariety of computer readable media. Exemplary readable media can be anyavailable media that is accessible by the user devices 201, 201 a, 201 band 201 c and comprises, for example and not meant to be limiting, bothvolatile and non-volatile media, and removable and non-removable media.The system memory 212 comprises computer readable media in the form ofvolatile memory, such as random access memory (RAM), and/or non-volatilememory, such as read only memory (ROM). The system memory 212 typicallycontains data, such as position data 207, and/or program modules, suchas operating system 205 and position measurement software 206 that areimmediately accessible to and/or are presently operated on by theprocessing unit 203.

In another aspect, the user devices 201, 201 a, 201 b and 201 c can alsocomprise other removable/non-removable, volatile/non-volatile computerstorage media. By way of example, FIG. 2 illustrates a mass storagedevice 204 that can provide non-volatile storage of computer code,computer readable instructions, data structures, program modules, andother data for the user devices 201, 201 a, 201 b and 201 c. For exampleand not meant to be limiting, a mass storage device 204 can be a harddisk, a removable magnetic disk, a removable optical disk, magneticcassettes or other magnetic storage devices, flash memory cards, CD-ROM,digital versatile disks (DVD) or other optical storage, random accessmemories (RAM), read only memories (ROM), electrically erasableprogrammable read-only memory (EEPROM), and the like.

Optionally, any number of program modules can be stored on the massstorage device 204, including by way of example, an operating system 205and position measurement software 206. Each of the operating system 205and position measurement software 206 (or some combination thereof) cancomprise elements of the programming and the position measurementsoftware 206. Position data 207 can also be stored on the mass storagedevice 204. Position data 207 can be stored in any of one or moredatabases known in the art. Examples of such databases comprise, DB2®,Microsoft® Access, Microsoft® SQL Server, Oracle®, mySQL, PostgreSQL,Hadoop, Map Reduce and the like. The databases can be centralized ordistributed across multiple systems.

In another aspect, the user can enter commands and information into theuser devices 201, 201 a, 201 b and 201 c via an input device (notshown). Examples of such input devices comprise, but are not limited to,a keyboard, pointing device (e.g., a “mouse”), a microphone, a joystick,a scanner, tactile input devices such as gloves, and other bodycoverings, and the like These and other input devices can be connectedto the processing unit 203 via a human machine interface 202 that iscoupled to the system bus 213, but can be connected by other interfaceand bus structures, such as a parallel port, a game port, an IEEE 1394Port (also known as a Firewire port), a serial port, or a universalserial bus (USB).

In yet another aspect, a display device 211 can also be connected to thesystem bus 213 via an interface, such as a display adapter 209. It iscontemplated that the user devices 201, 201 a, 201 b and 201 c can havemore than one display adapter 209 and the user device 201 can have morethan one display device 211. For example, a display device can be amonitor, an LCD (Liquid Crystal Display), or a projector. In addition tothe display device 211, other output peripheral devices can comprisecomponents, such as speakers (not shown) and a printer (not shown),which can be connected to the user devices 201, 201 a, 201 b and 201 cvia Input/Output Interface 210. Any step and/or result of the methodscan be output in any form to an output device. Such output can be anyform of visual representation, including, but not limited to, textual,graphical, animation, and the like. The display 211 and user devices201, 201 a, 201 b and 201 c can be part of one device, or separatedevices.

The user device 201 can operate in a networked environment using logicalconnections to one or more user devices 201 a, 201 b, 201 c. By way ofexample, a user device can be a personal computer, a portable computer,a smartphone, a server, a router, a network computer, a peer device orother common network node, and so on. Logical connections between theuser devices 201, 201 a, 201 b and 201 c can be made via a networkdevice 116. Such network connections can be through a network adapter208. A network adapter 208 can be implemented in both wired and wirelessenvironments. Such networking environments are conventional andcommonplace in dwellings, offices, enterprise-wide computer networks,intranets, and the Internet.

For purposes of illustration, application programs and other executableprogram components, such as the operating system 205, are illustratedherein as discrete blocks, although it is recognized that such programsand components reside at various times in different storage componentsof the user devices 201, 201 a, 201 b and 201 c are executed by the dataprocessor(s) of the computer. An implementation of position measurementsoftware 206 can be stored on or transmitted across some form ofcomputer readable media. Any of the disclosed methods can be performedby computer readable instructions embodied on computer readable media.Computer readable media can be any available media that can be accessedby a computer. By way of example and not meant to be limiting, computerreadable media can comprise “computer storage media” and “communicationsmedia.” “Computer storage media” comprise volatile and non-volatile,removable and non-removable media implemented in any methods ortechnology for storage of informations, such as computer readableinstructions, data structures, program modules, or other data. Exemplarycomputer storage media comprises, but is not limited to, RAM, ROM,EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by a computer.

The methods and systems can employ artificial intelligence (AI)techniques such as machine learning and iterative learning. Examples ofsuch techniques include, but are not limited to, expert systems, casebased reasoning, Bayesian networks, behavior based AI, neural networks,fuzzy systems, evolutionary computation (e.g. genetic algorithms), swarmintelligence (e.g. ant algorithms), and hybrid intelligent systems (e.g.expert inference rules generated through a neural network or productionrules from statistical learning).

FIG. 3 illustrates a block diagram of an exemplary system environmentfor service transfer. The system can comprise a network device 116 and aplurality of user devices 101, 101 a, 101 b, 101 c and 101 d connectedvia the network device 116. In one aspect, network device 116 can serveas a wireless base station. For example, network devices 116 can beconfigured to allow user devices 101, 101 a, 101 b, 101 c and 101 d toconnect to a wired and/or wireless network using Wi-Fi, Bluetooth or anydesired method or standard.

All user devices 101, 101 a, 101 b, 101 c and 101 d visible to thenetwork device 116 can be considered transferable second userdevices/target devices for service transfer. Communications between userdevices 101, 101 a, 101 b, 101 c and 101 d can be routed through networkdevice 116. A computing device (not shown) connected to network device116 can be equipped with a processor 134 configured to determineposition and/or movement for one or more user devices visible to thenetwork device 116. The location and/or position of each user device(e.g., user device 101, 101 a, 101 b, 101 c and 101 d) can be used todetermine a second user device/target user device for service transfer.

In one aspect, user devices 101, 101 a, 101 b, 101 c, 101 d can acquireGPS coordinates. For example, global positioning system of the userdevices 101 a, 101 b, 101 c, 101 d can collect latitude and longitude ofthe respective user devices. Elevation and/or altitude information canalso be included. The change of GPS coordinates of a first user device(e.g., user device 101) relative to GPS coordinates of each of aplurality of second user devices (e.g., user devices 101 a, 101 b, 101c, 101 d) within the network can be used to determine direction ofmovement of the first user device relative to the plurality of seconduser devices. As a result, the user device in the resulting or finaldirection of movement of the first user device (e.g., user device 101)can be selected as the second user device for service transfer.

It should be noted that any type of location and/or distance measurementcan be used to determine the second user device. For example, acombination of RSSI and GPS coordinates can be used for this purpose. Itshould also be noted that the present disclosure is not limited theretoand is equally applicable to other location and/or distance measurementtechniques as will be readily apparent to those skilled in the art fromthe description provided herein. For example, orientation information ofa user device can be used to facilitate the selection of a second userdevice. In an aspect, the orientation information can be combined withlocation information such as RSSI reading and/or GPS coordinates todetermine a target user device/second user device.

FIG. 4 illustrates a block diagram of an exemplary system environment.GPS coordinates are shown for each user device, although any other formof position/movement detection can be used. The system can comprise anetwork device 116 and a plurality of user devices 101, 101 a, 101 b,101 c and 101 d connected via the network device 116. In one aspect,network device 116 can serve as a wireless base station. For example,network devices 116 can be configured to allow user devices 101, 101 a,101 b, 101 c and 101 d to connect to a wired and/or wireless networkusing Wi-Fi, Bluetooth or any desired method or standard. All userdevices 101, 101 a, 101 b, 101 c and 101 d visible to the network device116 can be considered transferable second user devices/target devicesfor service transfer. Communications between user devices 101, 101 a,101 b, 101 c and 101 d can be routed through network device 116.

In an aspect, the user device 101 can move toward the user device 101 a.Arrow 111 indicates user device 101 moving in the direction of userdevice 101 a. As an example, a computing device (not shown) connected tonetwork device 116 can be equipped with a processor configured todetermine position and/or movement of the user device 101. As anotherexample, the user device 101 can determine and report its position,movement, and/or speed to the computing device. The location and/orposition of other user device (e.g., user devices 101 a, 101 b, 101 cand 101 d) with respect to the user device 101 can be determined by thecomputing device. The user device 101 a, 101 b, 101 c and 101 d that isin the resulting or final direction of movement of the user device 101can be selected as the second user device for service transfer. Userdevice 101 a can therefore be selected as the second user device.Service being consumed on user device 101 can then be transferred touser device 101 a. In another aspect, a service can be transferredbetween user devices 101 a, b, c, d based on movement of user device101. For example, user device 101 can point at user device 101 d andthen user device 101 can be moved in the direction of user device 101 a.The result of such movement can be that service being consumed on userdevice 101 d is transferred to user device 101 a. In another aspect, auser can designate one or more specific user devices as non-transferableor block certain types of transfer from one device to another. Thelocation information (e.g., GPS coordinates) of any designatednon-transferable user devices can be excluded from consideration.

In an aspect, service transfer can be activated by a user command.Examples of user commands can include multi-touch gestures, mouse clicksand remote control commands. The type of command utilized will beappropriate for the device in use. For example, a multi-touch gesturecan be used for a smartphone, tablet or a multi-touch trackpad can beused on a desktop computer. A remote control can be used for a set topbox. The user devices within a same network can operate on the same ordifferent platforms. For example, service transfer can be transferredfrom one DVR to another, from a laptop to a tablet, or from a smartphone to a television.

In an aspect, more than one device can be transferable second userdevice to receive service. For example, more than one device can be onthe direction of movement of a first user device. In an aspect, thedevice closest to the moving device on the direction of movement of thefirst user device can be automatically selected as second user device.In another aspect, a notification can be displayed on the first userdevice for a user to select a user intended device from a plurality oftransferable second user devices. The notification can comprise identity(e.g., iPad, computer, smartphone) and location information of theplurality of transferable second user devices.

In an aspect, service can be provided to more than one device. Forexample, a user command to activate service transfer can indicatewhether to continue providing service to a first user device when theservice is provided to a second user device. In an aspect, a user canindicate that the first user device will continue to receive servicewhen one or more second user devices are identified. For example,service (e.g., video call service) being provided to the first userdevice can be provided a second user or second user devicesimultaneously to establish a video call between the first user deviceand a selected second user device. As another example, service (e.g.,video call service) can be provided to more than one second user orsecond user devices. For example, a three-way video call can beestablished when a video call service is provided to three user devicessimultaneously.

FIG. 5 is a diagram of an exemplary system environment for servicetransfer. A user holding a smartphone 501 is moving the smartphone 501in the direction of television 501 a. Arrow 503 indicates smartphone 501is moving in the direction of television 501 a. In an aspect, the usercan point the smartphone 501 at the television 501 a to which the userwants the service (e.g., video program) provided or transferred.Pointing can be achieved by moving the smartphone 501 to the directionof the television 501 a at certain speed. One or more motion or positionsensors implemented in the smartphone 501 can be used to detectdirection, movement, and/or speed. In an aspect, a computing device (notshown) in communication with the smartphone 501 can be equipped with aprocessor configured to determine position, movement, and/or speed ofthe smartphone 501. The television 501 a can be determined to receivetransferred service as it is in the direction of the movement ofsmartphone 501. In an aspect, the user can click a button on thesmartphone 501 prior to initiating a movement to confirm intent totransfer service. In an aspect, the service transferred to thetelevision 501 a can still be provided on the smartphone 501. The usercan transfer the service provided on the smartphone 501 to another userdevice such as a tablet (not shown) via moving the smartphone 501 to theother user device. In an aspect, the user can stop the servicetransferred to the television 501 a via the smartphone 501 after theservice is provided to the other device.

FIG. 6 is a flowchart illustrating an example method for servicetransfer. At step 602, a service can be received at a first user device.In an aspect, the service can comprise a communication session (e.g., atelephone call), network access, video service, audio service, shortmessage service, multimedia message service, and the like. The firstuser device can comprise a personal computer, a mobile device, atelevision, a tablet device, a smart phone, a watch, glasses, or otherportable device. As an example, the service can be received from thecomputing device 104 at a first user device (e.g., user device 101).

At step 604, a movement of the first user device can be detected. In anaspect, a user of the first user device can point the first user deviceat a second user device to which the user wants the service transferred.Pointing can be achieved by moving the first user device to thedirection of the second user device at certain speed. In an aspect, oneor more motion or position sensors implemented in the first user devicecan be used to detect the movement. As an example, detecting a movementof the first user device can comprise receiving a signal from one ormore of a magnetometer, a gyroscope, an accelerometer, a radiotransceiver, and a global positioning system, a light system such asinfrared (IR), implemented in the first user device.

As an example, an accelerometer can be used to identify movement of auser device. In an aspect, the accelerometer can detect speed changes(e.g., moving at a certain speed, increasing and/or decreasing speed,stopping movement, and the like). In an aspect, a speed change greaterthan a predefined value can be interpreted as a signal to initiateservice transfer.

As another example, a GPS device or a geo-location device can also beused to identify the position and/or movement of a user device.Specifically, the GPS device can provide position information in termsof GPS coordinates, such as longitude, latitude, altitude, and the like.The geo-location device can provide position information in terms ofreal-world geographical location. In an aspect, speed and direction ofthe movement can be calculated based on the real-time position change(e.g., GPS coordinates change). In an aspect, a real-time positionchange greater than a predefined value can be interpreted as a signal toinitiate a service transfer.

As another example, in the scenario of a group of user devicesconfigured to connect to the same network via a common base point, amagnetometer can be used to provide the position information in terms ofthe position of a user device relative to the fixed common base point(e.g., Wi-Fi router). As another example, a received signal strengthindicator (RSSI) can be used to indicate the distance of a user devicefrom the fixed common base point such as a Wi-Fi router. The speed anddirection of the movement can be calculated based on the real-timeposition change (e.g., angle change with respect to the common basepoint, distance change with respect to the common base point). In anaspect, a real-time position change greater than a predefined value canbe interpreted as a signal to initiate a service transfer.

As another example, a gyroscope can be used to detect orientationchanges during the movement of a user device. For example, a real-timeorientation change of the user device can be detected by a gyroscope.The speed and direction of the movement can be calculated based on thereal-time orientation change. In an aspect, a real-time orientationchange greater than a predefined value can be interpreted as a signal toinitiate a service transfer.

At step 606, the direction of the movement of the first user device canbe determined. In an aspect, determining a direction of the movement cancomprise receiving a signal from one or more sensors, such as amagnetometer, a gyroscope, an accelerometer, a radio transceiver, and aglobal positioning system (GPS) device, a compass, as discussed in step604. As an example, the movement of a user device can be calculatedbased on real-time GPS coordinates change. As another example, theposition and/or movement of a user device can be calculated based onreal-time angle change and distance change relative to a common networkaccess point (e.g., a Wi-Fi router, a femtocell). In an aspect, thereal-time position information can be sent to processor 132 of a userdevice (e.g., user device 101). The processor 132 can calculate thereal-time position change and thereby determine the direction of themovement. In an aspect, the speed of the movement can be determined. Inan aspect, the position (e.g., start position, end position) andmovement information (e.g., position change, speed, direction) of thefirst user device (e.g., user device 101) can be shared with other usertransferrable user devices (e.g., user devices 101 a, 101 b, 101 c and101 d) and computing device 104 via a wired and/or wireless networkusing Wi-Fi, Bluetooth or any desired method or standard. In an aspect,the start position can be the position the user device was in prior toinitiation of movement and the end position can be the position the userdevice is in after completion of movement. In an aspect, the endposition can be in the direction of desired service transfer.

At step 608, the user, via the first user device, can request theservice be transferred or provided to a second user device in theresulting or final direction of movement. In an aspect, the request cancomprise the direction of the movement of the first user device. In anaspect, the request can further comprise the speed of the movement ofthe first user device. As an example, computing device 104 can receivethe request. In an aspect, the computing device 104 can be configured toretrieve service transfer data (e.g., position information, deviceidentifier) of the user devices (e.g., user devices 101 a, 101 b, 101 cand 101 d) from the service transfer database 128, to map the directionof the movement of the first user device with respect to the position ofthe other user devices in the service transfer database 128, and thusidentify the second/target user device. In an aspect, the second userdevice can be identified based on the direction and the speed of themovement. In an aspect, the request can be confirmed by a user of thefirst user device before the request can be sent to the computing device104. For example, a service transfer can be confirmed via a userclicking a button on the first user device (e.g., user device 101). Inan aspect, the user can click a button prior to initiating a movement toconfirm intent to transfer service. This can prevent providing serviceto a second user device in cases where movement of the first user devicethat is not intended for service transfer.

FIG. 7 is a flowchart illustrating yet another example method forservice transfer. At step 702, service can be provided to a first userdevice. In an aspect, the service can comprise a communication session,network access, video service, audio service, short message service,multimedia message service, and the like. In another aspect, the firstuser device can comprise a personal computer, a mobile device, a tabletdevice, a smart phone, a watch, glasses, a television, and the like. Asan example, the computing device 104 can provide service to the firstuser device (e.g., user device 101).

At step 704, a request can be received from the first user device toprovide or transfer the service to a second user device. As an example,the request can be received by the computing device 104. As anotherexample, the request can be received by a plurality of second userdevices. In an aspect, the request can be activated by a user of thefirst user device pointing the first user device at a second user deviceto which user wants the service transferred. The pointing can beachieved by moving the first user device in the direction of the seconduser device at certain speed. In an aspect, the request can be detectedby the first user device receiving a signal from one or more motion orposition sensors. The sensors can comprise one or more of amagnetometer, a gyroscope, an accelerometer, a radio transceiver, aglobal positioning system device, a compass, a light beam sensingsystem, and the like. In another aspect, the request can be received bythe respective plurality of second user devices via a wired and/orwireless network using Wi-Fi, Bluetooth or any desired method orstandard. In this scenario, a plurality of processors can be implementedin the plurality of second user devices to process the request receivedfrom the first user device.

At step 706, the data representing a direction or location of the firstuser device relative to the second user device can be determined orreceived. In an aspect, the direction of the second user device relativeto the first user device can be received by the computing device 104 viaa wired and/or wireless network using Wi-Fi, Bluetooth or any desiredmethod or standard. As an example, the processor 132 of the first userdevice can receive a signal from one or more of a magnetometer, agyroscope, an accelerometer, a radio transceiver, a global positioningsystem, a compass. The signal can indicate real-time position (e.g., GPScoordinates) of the first user device. In an aspect, the movement of thefirst user device can be calculated based on real-time position change(e.g., GPS coordinates change, distance and angle change with respect toa common base point) of the first user device. In an aspect, theprocessor 132 can calculate the real-time position change and therebydetermine the location, positioning, and/or direction of the second userdevice relative to the first user device (e.g., user device 101). In anaspect, a speed of the movement can be determined by calculating thereal-time position change. As such, both the direction and speed of themovement of the first user device can be received by the computingdevice 104.

In another aspect, data representing direction and/or location of thefirst user device with respect to a plurality of second user devices canbe received by the respective plurality of second user devices via awired and/or wireless network using Wi-Fi, Bluetooth or any desiredmethod or standard. In this scenario, a plurality of processors can beimplemented in the plurality of second user devices to process the datarepresenting direction and/or location of the first user device withrespect to the respective plurality of transferable second user devices.The data processed in the plurality of second user devices can be sentto a service provider (e.g., computing device 104).

In an aspect, a user can click a button on the first user device (e.g.,user device 101) prior to initiating a movement. By clicking the button,the computing device 104 and/or the plurality of second user devices(e.g., user devices 101 a, 101 b, 101 c and 101 d) can be informed thatthe first user device intends a service transfer. The computing device104 and/or the plurality of second user devices (e.g., user devices 101a, 101 b, 101 c and 101 d) can be set to a listening status. Thelistening status can enable the computing device 104 and/or theplurality of second user devices (e.g., user devices 101 a, 101 b, 101 cand 101 d) to be ready to receive and/or process data representingdirection and/or location of the first user device with respect to aplurality of second user devices. The listening status can preventproviding service to a second user device in cases where movement of thefirst user device is not intended for service transfer.

At step 708, the second user device can be identified. In an aspect, thesecond user device can be identified by the computing device 104. As anexample, processor 134 of the computing device 104 can map the directionof movement of the first user device with respect to the position ofother user devices stored in the service transfer database 128. In anaspect, the user device at the end or final direction of movement of thefirst user device can be identified as the second user device.

In an aspect, identifying the second user device can comprise receivingregistration information for a first user device and a second userdevice, updating registration information for the first user device andthe second user device to reflect a change in a position of the firstuser device with respect to the second user device, and accessing theregistration information to determine the second user device. In anaspect, the registration information can comprise position information(e.g., GPS coordinates, distance with respect to a common base point,angle with respect to a fixed common base point) and device identity(e.g., device identifier). In an aspect, the updated registrationinformation can be received by the computing device 104 and stored inthe service transfer database 128. Updated registration information canbe accessed to determine the second user device. As an example, theprocessor 134 can access the updated registration information and mapthe direction of the movement of first user device with respect to theposition of a second user device according to the update registrationinformation. If the second user device is in the direction of themovement of the first user device, the second user device can beidentified as the second user device for the service to be transferred.

As a specific example, identifying a second user device can comprisedetermining a relative signal strength indicator (RSSI) for each of aplurality of user devices. In an aspect, the plurality of user devicescan comprise a first user device and a second user device, and the RSSIvalue of a first user device and a second user device can be received atthe computing device 104. The RSSI value and angle with respect to acommon base point (e.g., Wi-Fi router, a femtocell) can be updated inreal time (e.g., via compasses in user devices) to reflect a change in aposition of the first user device and the second user device. Theupdated RSSI value can be accessed by the processor 134 to determine thesecond user device.

At step 710, the service can be transferred or provided to the seconduser device. As an example, the computing device 104 can provide serviceto the identified second user device according to its device identity(e.g., device identifier 108). In an aspect, a service transfer requestcan be confirmed by a user of a first user device before the service canbe provided to the second user device. This can prevent the movement ofthe first user device that is not intended for service transfer.

FIG. 8 is a flowchart illustrating another example method for servicetransfer. At step 802, a request to provide a service to one or aplurality of second user device can be transmitted from a first userdevice. In an aspect, the service can comprise a communication session(e.g., a telephone call), network access, video service, audio service,short message service, multimedia message service, and the like. Thefirst user device can comprise a personal computer, a mobile device, atelevision, a tablet device, a smart phone, a watch, glasses, or otherportable device. As an example, the request can be activated by a userof the first user device pointing the first user device at a second userdevice to which user wants the service transferred. In an aspect, datarepresenting direction and/or position change of the first user devicecan be transmitted to the plurality of second user devices during themovement of the first user device. For example, the request can comprisethe direction of the movement of the first user device. In an aspect,the request can further comprise the speed of the movement of the firstuser device.

At step 804, data representing a direction of movement of the first userdevice relative to the plurality of second user devices can be received.As an example, the data representing position and movement of the firstuser device can be transmitted to a plurality of second user devices.The first user device and the plurality of second user devices can bevisible to a common network. In an aspect, a processor implemented ineach of the plurality of second user devices can be configured toprocess data representing direction and/or position change of the firstuser device relative to the respective plurality of second user devices.The processed data can be transmitted to the first user device.

At step 806, one of the plurality of second user devices can beidentified based on the received data. In an aspect, a processor in thefirst user device can be configured to map the direction of movement ofthe first user device with respect to the position of the plurality ofsecond user devices. In an aspect, the user device at the end or finaldirection of movement of the first user device can be identified as thesecond user device.

In an aspect, identifying one of the plurality of second user devicescan comprise the first user device receiving registration informationfrom the plurality of second user devices. As an example, theregistration information can comprise position information (e.g., GPScoordinates, distance with respect to a common base point, angle withrespect to a fixed common base point) and device identity (e.g., deviceidentifier). In an aspect, registration information for the first userdevice and the plurality of second user devices can be updated toreflect a change in a position of the first user device with respect tothe plurality of second user devices. The first user device can accessthe registration information to determine a second user device. As anexample, a processor in the first user device can access the updatedregistration information and map the direction of the movement of thefirst user device with respect to the position of the plurality ofsecond user devices according to the update registration information. Ifa second user device is in the direction of the movement of the firstuser device, the second user device can be identified as the second userdevice for the service to be transferred or provided.

As a specific example, identifying one or the plurality of second userdevices can comprise determining a relative signal strength indicator(RSSI) for the first user device and each of the plurality of seconduser devices. In an aspect, the RSSI value of the first user device andthe plurality of second user devices can be received at the first userdevice. The RSSI value and angle with respect to a common base point(e.g., Wi-Fi router, a femtocell) can be updated in real time (e.g., viaa compass in the devices) to reflect a change in a position of the firstuser device relative to the plurality of second user devices. Theupdated RSSI value and angle with respect to the common base point canbe accessed by a processor of the first user device to determine one ofthe plurality of second user devices.

At step 808, the service can be provided or transferred to theidentified one of the plurality of second devices. As an example, theservice can be provided to the identified second user device accordingto its device identity (e.g., device identifier 108). In an aspect, aservice transfer request can be confirmed by a user of a first userdevice before the service can be provided or transferred to theidentified second user device. This can prevent the movement of thefirst user device that is not intended for service transfer.

FIG. 9 is a flowchart illustrating another example method for servicetransfer. At step 902, a service can be received at a first user device.In an aspect, the service can comprise a communication session (e.g., atelephone call), network access, video service, audio service, shortmessage service, multimedia message service, and the like. The firstuser device can comprise a personal computer, a mobile device, atelevision, a tablet device, a smart phone, a watch, glasses, or otherportable device. In an aspect, the service can be received from thecomputing device 104 at the first user device (e.g., user device 101 a).

At step 904, a movement of a second user device in direction of a thirduser device can be detected. In an aspect, a user of a second userdevice can point the second user device (e.g., user device 101) at athird user device (e.g., user device 101 b) to which the user wants theservice provided to the first device (e.g., user device 101 a) to betransferred. Pointing can be achieved by moving the second user device(e.g., user device 101) to the direction of the third user device (e.g.,user device 101 b) at certain speed. In an aspect, one or more motion orposition sensors implemented in the second user device can be used todetect the movement of the second user device. As an example, detectinga movement of the second user device can comprise receiving a signalfrom one or more of a magnetometer, a gyroscope, an accelerometer, aradio transceiver, and a global positioning system, a light system suchas infrared (IR), implemented in the second user device.

In an aspect, direction of the movement of the second user device can bedetermined. As an example, the direction of the movement of the seconduser device can be calculated based on real-time GPS coordinates changeor any other relative positioning system. As another example, thedirection of the movement of the second user device can be calculatedbased on real-time angle change and distance change relative to a commonnetwork access point (e.g., a Wi-Fi router, a femtocell). In an aspect,the real-time position information can be sent to a processor of thesecond user device and/or a processor of a computing device (e.g.,computing device 104). The processor of the second user device and/or aprocessor of the computing device (e.g., computing device 104) cancalculate the real-time position change and thereby determine thedirection of the movement of the second user device with respect toother user devices in a network. In an aspect, the position (e.g., startposition, end position) and movement information (e.g., position change,speed, direction) of the second user device can be shared with otheruser devices (e.g., user devices 101 a, 101 b, 101 c, and 101 d) andcomputing device 104 via a wired and/or wireless network using Wi-Fi,Bluetooth or any desired method or standard. In an aspect, the userdevice in the resulting or final direction of movement can be identifiedas target device for service transfer. As an example, the third device(e.g., user device 101 b) can be determined to be in the resulting orfinal direction of movement of the second user device. As such,information (e.g., device identifier 108, address element 110, etc.) ofthe third device (e.g., 101 b) can be shared with other user devices(e.g., user devices 101, 101 a, 101 c, and 101 d) and/or the computingdevice 104.

At step 906, service can be transferred from the first device to thethird device. As an example, the computing device 104 can provideservice to the third user device (e.g., user device 101 b) according toa device identifier (e.g., device identifier 108, address element 110)of the third user device. In another aspect, the computing device 104can stop providing the service to the first device (e.g., user device101 a) once the service is provided to the third device (e.g., userdevice 101 b). In an aspect, a service transfer request can be confirmedby a user of a second user device (e.g., user device 101) before theservice can be provided to the third user device (e.g., user device 101b). This can prevent the movement of the second user device (e.g., userdevice 101) that is not intended for service transfer.

While the methods and systems have been described in connection withpreferred embodiments and specific examples, it is not intended that thescope be limited to the particular embodiments set forth, as theembodiments herein are intended in all respects to be illustrativerather than restrictive.

Unless otherwise expressly stated, it is in no way intended that anymethod set forth herein be construed as requiring that its steps beperformed in a specific order. Accordingly, where a method claim doesnot actually recite an order to be followed by its steps or it is nototherwise specifically stated in the claims or descriptions that thesteps are to be limited to a specific order, it is in no way intendedthat an order be inferred, in any respect. This holds for any possiblenon-express basis for interpretation, including: matters of logic withrespect to arrangement of steps or operational flow; plain meaningderived from grammatical organization or punctuation; the number or typeof embodiments described in the specification.

It will be apparent to those skilled in the art that variousmodifications and variations can be made without departing from thescope or spirit. Other embodiments will be apparent to those skilled inthe art from consideration of the specification and practice disclosedherein. It is intended that the specification and examples be consideredas exemplary only, with a true scope and spirit being indicated by thefollowing claims.

1. A method comprising: receiving, by a first device, a service from asecond device; detecting, by a sensor of the first device, a movement ofthe first device; determining, based on the movement, movementinformation; and based on the movement information indicating an intentto transfer the service from the first device to a third device,requesting the service be provided by the second device to the thirddevice.
 2. The method of claim 1, wherein the movement information isindicative of a speed of the movement and the method further comprisesdetermining, based on the speed of the movement satisfying a threshold,that the movement information indicates the intent to transfer theservice.
 3. The method of claim 1, wherein the movement information isindicative of an acceleration of the movement and the method furthercomprises determining, based on the acceleration of the movementsatisfying a threshold, that the movement information indicates theintent to transfer the service.
 4. The method of claim 1, wherein themovement information is indicative of a duration of the movement and themethod further comprises determining, based on the duration of themovement satisfying a threshold, that the movement information indicatesthe intent to transfer the service.
 5. The method of claim 1, whereinthe movement information is indicative of a distance of the movement andthe method further comprises determining, based on the distance of themovement satisfying a threshold, that the movement information indicatesthe intent to transfer the service.
 6. The method of claim 1, whereinthe movement information is indicative of a direction of the movementand the method further comprises determining, based on the direction ofthe movement, that the movement information indicates the intent totransfer the service.
 7. The method of claim 1, wherein the movementinformation is indicative of a distance between the first device and thethird device and the method further comprises determining, based on thedistance satisfying a threshold, that the movement information indicatesthe intent to transfer the service.
 8. The method of claim 1, furthercomprising: determining an identifier of the third device, wherein therequesting the service is further based on the identifier of the thirddevice indicating that the third device can process the service.
 9. Themethod of claim 1, wherein the third device is one of a plurality ofdevices and the requesting the service is further based on a speed ofthe movement and a distance between the first device and a device of theplurality of devices.
 10. A method comprising: receiving, by a firstdevice, a service from a second device; detecting, by a sensor of thefirst device, a movement of the first device; determining, based on themovement, that the movement indicates an intent to transfer the servicefrom the first device to a third device; determining an identifier ofthe third device; and based on the identifier of the third deviceindicating that the third device can process the service, requesting theservice be provided by the second device to the third device.
 11. Themethod of claim 10, wherein the identifier of the third device isindicative of a class and an identifier of the first device isindicative of the class.
 12. The method of claim 11, wherein the classis based on one or more of a manufacturer of the first device, a modelof the first device, a type of the first device, a service provider ofthe first device, a state of the first device, a locator of the firstdevice, or a label of the first device.
 13. The method of claim 10,wherein the intent to transfer the service is based on a type of theservice.
 14. The method of claim 13, wherein the type of the service isbased on one or more of a business class, a service tier, or a servicepackage.
 15. The method of claim 10, further comprising: determining,based on a speed of the movement satisfying a threshold, that themovement indicates the intent to transfer the service.
 16. A methodcomprising: receiving, by a first device, a multimedia service from asecond device; detecting, by a sensor of the first device, a movement ofthe first device; determining a speed of the movement; determining,based on the movement, that the movement indicates an intent to transferthe multimedia service from the first device to a device of a pluralityof devices; and requesting, based on the speed of the movement and adistance between the first device and the device of the plurality ofdevices, the multimedia service be provided by the second device to athird device of the plurality of devices.
 17. The method of claim 16,wherein the distance satisfies a threshold.
 18. The method of claim 16,further comprising: determining an identifier of the third device,wherein the identifier of the third device is indicative of a class andan identifier of the first device is indicative of the class.
 19. Themethod of claim 16, wherein the intent to transfer the multimediaservice is based on a direction of the movement relative the device. 20.The method of claim 16, wherein the movement is based on a signal fromone or more of a magnetometer, a gyroscope, an accelerometer, a radiotransceiver, a global positioning system, or a compass.